Overlapping of the fields of view (FoV) of cameras in a video-surveillance system used for tracking objects, for example for tracking people in streets, makes it possible to solve occlusion problems that may occur in a scene when a tracked object is hidden by another object. Tracking algorithms taking advantage of overlapping fields of view are referred to as fusion algorithms.
More precisely, a main goal of using cameras having overlapping fields of view is to track objects by combining data from a set of overlapping cameras (overlooking at least partially the same scene, i.e., possibly with a partial overlap of their FoV) and to establish a correspondence across multiple views (track assignment).
According to a first solution, tracking of objects is based on data correspondences between images acquired from different cameras. To that end, features are extracted from images acquired by the cameras of a video-surveillance system and next, they are compared. Such features can be, for example, color histograms. Tracking of objects is determined as a function of data correspondences between images and of the relative positions of the cameras from which the images are obtained. This first solution is known as multi-sensor fusion.
According to a second solution, a tracking module is associated with each camera of the video-surveillance system, referred to as mono-camera trackers (associated with the different videos generated by the overlapping cameras), so that the objects are tracked independently in images from each camera. In a further step, the tracking data issued by each camera are merged or processed to select one tracker that is used for providing tracking data (it is considered to be the best tracker). The methods based on such a solution are referred to as multi-tracker fusion.
A tracking module may be based on the method known as tracking-by-detection method. According to the latter, the output of a detector is used to generate target hypotheses in each image of a sequence of images, which then have to be transitively linked to form paths with consistent identity labels. It can therefore be formulated as a data association problem, which generally relies on affinity models between detections in successive images based on motion constraints and intrinsic object descriptors such as color.
It is to be noted that there exist different ways of implementing a tracking algorithm and more generally a Video Content Analysis (VCA) algorithm on which is typically based a tracking algorithm.
In a centralized implementation, a VCA algorithm is implemented in a server as a part of a video management system server of a video surveillance system or in connexion with that video management system server. According to this solution, the server implementing the VCA algorithm generates all video content analytics from the videos of all the cameras of the system. As a consequence, a high computing power and a huge amount of memory are required within the server. In addition, further hardware costs are often required to manage all the cameras (for instance in a large scale video-surveillance system). This problem gets bigger as a function of the number of cameras in the video-surveillance system.
On the contrary, in a distributed implementation, VCA algorithms are implemented within the cameras, each camera being in charge of generating the video content analytics for the images acquired by that camera. However, since cameras generally have limited computing resources that are not adapted to handle complex VCA algorithms, this may lead to low performance in terms of efficiency. In other words, only simple tracking algorithms can generally be implemented in cameras, which does not allow high performance to be attained.
As a consequence, whether the tracking algorithms are distributed or centralized, their implementation costs in terms of complexity (computation time and required amount of memory) are a real issue.
Consequently, there is a need for reducing the implementation costs of tracking algorithm while maintaining their efficiency.